package com.qinglei.recoup.hmp.pojo.vo.healthReport;

import com.qinglei.recoup.hmp.pojo.vo.AbnItemVO;
import com.qinglei.recoup.hmp.pojo.vo.BHItemVO;
import com.qinglei.recoup.hmp.pojo.vo.BreathEventVO;
import com.qinglei.recoup.hmp.pojo.vo.NumDataItemVO;
import com.qinglei.recoup.system.pojo.SleepDataVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @author: 最爱学英语的cxd
 * @slogan: 一入代码深似海，从此红尘是路人
 * @create: 2022-02-11
 **/
@Data
@ApiModel(description = "单日睡眠报告")
public class HealthReportOneDayVo implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "设备号")
    private String sn;

    @ApiModelProperty(value = "床位ID")
    private Integer bedId;

    @ApiModelProperty(value = "床位名称")
    private String bedName;

    @ApiModelProperty(value = "统计日期 格式 2020年1月10日")
    private String statisticsDate;

    @ApiModelProperty(value = "睡眠得分")
    private Long sleepScore;

    @ApiModelProperty(value = "睡眠评价")
    private String sleepComment;

    @ApiModelProperty(value = "睡眠比率")
    private Integer sleepProportion;

    @ApiModelProperty(value = "正向报告")
    private String positiveResult;

    private Integer resultFlag;  //数据解析标志位(0:数据解析成功；1:整晚 在床时间过短；2:数据异常,算法不进行 解算；大于10的数值是丢包率太高 ）

    @ApiModelProperty(value = "活力指数")
    private HealthReportSleepVO vitality;

    @ApiModelProperty(value = "情绪指数")
    private HealthReportSleepVO morale;

    @ApiModelProperty(value = "跌倒指数")
    private HealthReportSleepVO fall;

    @ApiModelProperty(value = "睡眠时长")
    private HealthReportSleepVO sleepLenValidMin;

    @ApiModelProperty(value = "离床时长")
    private HealthReportSleepVO outBedDuration;

    @ApiModelProperty(value = "离床次数")
    private HealthReportSleepVO outBedNum;

    @ApiModelProperty(value = "睡眠呼吸")
    private HealthReportSleepVO sleepBreath;

    @ApiModelProperty(value = "睡眠效率")
    private HealthReportSleepVO sleepEfficiency;

    @ApiModelProperty(value = "深睡时长")
    private HealthReportSleepVO deepSleepDuration;

    @ApiModelProperty(value = "浅睡时长")
    private HealthReportSleepVO lightSleepDuration;

    @ApiModelProperty(value = "清醒时长")
    private HealthReportSleepVO clearSleepDuration;

    @ApiModelProperty(value = "体动次数")
    private HealthReportSleepVO turnOverNum;

    @ApiModelProperty(value = "负面报告列表")
    private List<HealthReportInfoVO> negativeList;

    @ApiModelProperty(value = "上床时间 格式：20:00")
    private String getBedTime;

    @ApiModelProperty(value = "入睡时间 格式：20:00")
    private String beginTime;

    @ApiModelProperty(value = "是否提示  0点前入睡")
    private Boolean isBeginTime = false;

    @ApiModelProperty(value = "晨醒时间 格式：05:49")
    private String endTime;

    @ApiModelProperty(value = "起床时间 格式：05:58")
    private String leaveBedTime;

    @ApiModelProperty(value = "睡眠总时长")
    private String sleepDuration;

    @ApiModelProperty(value = "20:00 - 8:00，720个分钟")
    private List<String> minutes;

    @ApiModelProperty(value = "睡眠数据整点数据")
    private List<String> sleepTableTimeList;

    @ApiModelProperty(value = "睡眠数据 1-深睡 2-浅睡 3-清醒 4-离床 json数组")
    private List<SleepDataVO> sleepData;

    @ApiModelProperty(value = "呼吸数据")
    private BHItemNewVO breathData;

    @ApiModelProperty(value = "心跳数据")
    private BHItemNewVO heartData;

    @ApiModelProperty(value = "体动信息")
    private NumDataItemVO turnOverData;

    @ApiModelProperty(value = "呼吸事件列表")
    private List<BreathEventVO> healthReport;

    @ApiModelProperty(value = "睡眠呼吸暂停情况")
    private BreathEventVO sleepBreathStop;

    @ApiModelProperty(value = "呼吸紊乱情况")
    private BreathEventVO breathDisorder;

    @ApiModelProperty(value = "AHI数据")
    private NumDataItemVO ahiData;

    @ApiModelProperty(value = "呼吸紊乱指数（AHI）解释")
    private String ahiComment;

    @ApiModelProperty(value = "abnData数据")
    private AbnItemVO abnData;

    @ApiModelProperty(value = "是否有呼吸报告（1有报告，0没有报告）")
    private Integer flagBreathReport;

    @ApiModelProperty(value = "是否可以左滑")
    private Boolean isLeft = true;

    @ApiModelProperty(value = "是否可以右划")
    private Boolean isRight = true;


    @ApiModelProperty(value = "睡眠状态截取起始索引")
    private Integer cutStIdx;

    @ApiModelProperty(value = "睡眠状态截取结束索引")
    private Integer cutEdIdx;

}
